using System;
using System.ComponentModel;
using System.Diagnostics;
using System.Runtime.Serialization;
using System.Xml.Serialization;

namespace Cuahsi.Data.Interop.WaterML2.swe_20
{
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.233")]
    [Serializable()]
    [DebuggerStepThrough()]
    [DesignerCategory("code")]
    [XmlType(Namespace = "http://www.opengis.net/swe/2.0")]
    [XmlRoot("Time", Namespace = "http://www.opengis.net/swe/2.0", IsNullable = false)]
    [DataContract(Name = "TimeType", Namespace = "http://www.opengis.net/swe/2.0")]
    public partial class TimeType : AbstractSimpleComponentType
    {

        private UnitReference uomField;

        private AllowedTimesPropertyType constraintField;

        private string valueField;

        private System.DateTime referenceTimeField;

        private string localFrameField;

        public TimeType()
        {
            this.constraintField = new AllowedTimesPropertyType();
            this.uomField = new UnitReference();
        }

        [DataMember()]
        public UnitReference uom
        {
            get
            {
                return this.uomField;
            }
            set
            {
                this.uomField = value;
            }
        }

        [DataMember()]
        public AllowedTimesPropertyType constraint
        {
            get
            {
                return this.constraintField;
            }
            set
            {
                this.constraintField = value;
            }
        }

        [DataMember()]
        public string value
        {
            get
            {
                return this.valueField;
            }
            set
            {
                this.valueField = value;
            }
        }

        [XmlAttribute()]
        [DataMember()]
        public System.DateTime referenceTime
        {
            get
            {
                return this.referenceTimeField;
            }
            set
            {
                this.referenceTimeField = value;
            }
        }

        [XmlAttribute(DataType = "anyURI")]
        [DataMember()]
        public string localFrame
        {
            get
            {
                return this.localFrameField;
            }
            set
            {
                this.localFrameField = value;
            }
        }
    }
}